package com.hwz.common.entity;

import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.alibaba.fastjson.annotation.JSONField;

@Data
public class GiteeUser {
    @JsonProperty("id")
    @JSONField(name = "id")
    private Long id;

    @JsonProperty("login")
    @JSONField(name = "login")
    private String login;

    @JsonProperty("name")
    @JSONField(name = "name")
    private String name;

    @JsonProperty("avatar_url")
    @JSONField(name = "avatar_url")
    private String avatarUrl;

    @JsonProperty("url")
    @JSONField(name = "url")
    private String url;

    @JsonProperty("html_url")
    @JSONField(name = "html_url")
    private String htmlUrl;

    @JsonProperty("remark")
    @JSONField(name = "remark")
    private String remark;

    @JsonProperty("followers_url")
    @JSONField(name = "followers_url")
    private String followersUrl;

    @JsonProperty("following_url")
    @JSONField(name = "following_url")
    private String followingUrl;

    @JsonProperty("gists_url")
    @JSONField(name = "gists_url")
    private String gistsUrl;

    @JsonProperty("starred_url")
    @JSONField(name = "starred_url")
    private String starredUrl;

    @JsonProperty("subscriptions_url")
    @JSONField(name = "subscriptions_url")
    private String subscriptionsUrl;

    @JsonProperty("organizations_url")
    @JSONField(name = "organizations_url")
    private String organizationsUrl;

    @JsonProperty("repos_url")
    @JSONField(name = "repos_url")
    private String reposUrl;

    @JsonProperty("events_url")
    @JSONField(name = "events_url")
    private String eventsUrl;

    @JsonProperty("received_events_url")
    @JSONField(name = "received_events_url")
    private String receivedEventsUrl;

    @JsonProperty("type")
    @JSONField(name = "type")
    private String type;

    @JsonProperty("blog")
    @JSONField(name = "blog")
    private String blog; // 可能为 null

    @JsonProperty("weibo")
    @JSONField(name = "weibo")
    private String weibo; // 可能为 null

    @JsonProperty("bio")
    @JSONField(name = "bio")
    private String bio; // 可能为 null

    @JsonProperty("public_repos")
    @JSONField(name = "public_repos")
    private Integer publicRepos;

    @JsonProperty("public_gists")
    @JSONField(name = "public_gists")
    private Integer publicGists;

    @JsonProperty("followers")
    @JSONField(name = "followers")
    private Integer followers;

    @JsonProperty("following")
    @JSONField(name = "following")
    private Integer following;

    @JsonProperty("stared")
    @JSONField(name = "stared")
    private Integer stared;

    @JsonProperty("watched")
    @JSONField(name = "watched")
    private Integer watched;

    @JsonProperty("created_at")
    @JSONField(name = "created_at")
    private String createdAt; // 使用 String 或 LocalDateTime（需额外处理）

    @JsonProperty("updated_at")
    @JSONField(name = "updated_at")
    private String updatedAt; // 使用 String 或 LocalDateTime

    @JsonProperty("email")
    @JSONField(name = "email")
    private String email; // 可能为 null
}